package DSexam;

class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}

public class Test {
    public static ListNode Merge(ListNode list1,ListNode list2) {
        ListNode newHead = new ListNode(-1);
        // 这里是直接cur = newHead，而不是next，否则后续进行变换就会出现null操作
        ListNode cur = newHead;
        while(list1!=null && list2!=null) {
            if(list1.val > list2.val) {
                cur.next = list2;
                list2 = list2.next;
            } else {
                cur.next = list1;
                list1 = list1.next;
            }
            cur = cur.next;
        }
        // 出来说明其中一个为空
        if(list1 == null) {
            cur.next = list2;
        } else {
            cur.next = list1;
        }
        return newHead.next;
    }


    public static void main(String[] args) {
        ListNode h = Merge(new ListNode(1),new ListNode(2));
        System.out.println(h);
    }
}
